package com.dys.test04;

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

/**
 * @className: com.dys.test02.ClientTest
 * @description: com.dys.test02
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/21 下午8:53
 */
public class ClientTest {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) throws IOException {
        // 1.创建套接字：指定服务器的ip和port
        Socket s = new Socket("localhost", 8848);
        // 2.向服务器发送数据-->利用输出流
        OutputStream os = s.getOutputStream();

        // 3.向服务器发送数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的账号：");
        String username = sc.next();
        System.out.println("请输入你的密码：");
        String password = sc.next();

        // 将账号和密码封装为一个User对象
        User user = new User(username, password);
        ObjectOutputStream oos = new ObjectOutputStream(os);
        oos.writeObject(user);

        // 接收服务器端的回话--》利用输入流：
        // 接收服务器回复的消息
        InputStream is = s.getInputStream();
        DataInputStream dis = new DataInputStream(is);
        boolean b = dis.readBoolean();
        if (b) {
            System.out.println("恭喜你,登录成功!");
        } else {
            System.out.println("账号或者密码错误，登录失败!");
        }

        // 3.关流+关闭网络资源
        dis.close();
        is.close();
        oos.close();
        os.close();
        s.close();
    }
}
